﻿Public Class RegistroDNI
    Inherits System.Web.UI.Page
    Shared _persona As New Persona

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim ImagFondo As Image = Page.Master.FindControl("Imag_Fondo")
        If Not Page.IsPostBack Then

            FG.culturaPaginas()

            LIMPIApAGINA()

            'acomdo la imag de fondo
            ImagFondo.Height = 300


        End If

    End Sub


    Private Sub LIMPIApAGINA()

        FG.SacaCartelDeAViso(lblMejeBuscar)
        FG.SacaCartelDeAViso(lblMsjeGuardar)

        lblDniActual.Text = ""
        lblNombre.Text = ""
        lblApellido.Text = ""
        txtNuevoDni.Text = ""


    End Sub

    Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnBuscar.Click

        LIMPIApAGINA()



        If txtDNI.Text = "" Or txtDNI.Text = "Búsqueda DNI" Then
            FG.MuestraCartel("Falta ingresar dni", lblMejeBuscar)
            Exit Sub

        End If

        _persona.SetaDatosXDn(txtDNI.Text)

        If _persona.Dev_ExistePersona = False Then
            FG.MuestraCartel("El dni ingresado no existe", lblMejeBuscar)
            Exit Sub
        End If

        '-------------------------




        '.si llego hasta aca cargo los datos

        lblDniActual.Text = _persona.Dev_Dni
        lblApellido.Text = _persona.Dev_apellido
        lblNombre.Text = _persona.Dev_Nombre




    End Sub

    Private Function ExisteNuevoDni(ByVal _Nuevodni As String) As Boolean
        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset

        '----------hace la busqueda de dni , si existe trae 1 si no 0----------------------------

        param(0) = New ADODB.Parameter
        param(0).Name = "@dni"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Size = 10
        param(0).Value = _Nuevodni



        Rs = Datos.TraerTodos("BuscaSiexisteUNDni_Md", param, "Private Function ExisteNuevoDni- regulariza dni")
        ExisteNuevoDni = CBool(Rs.Fields(0).Value)


    End Function

    Private Function actualizoDni() As Boolean

        Dim param(1) As ADODB.Parameter


        '----------hace la busqueda de dni , si existe trae 1 si no 0----------------------------

        param(0) = New ADODB.Parameter
        param(0).Name = "@dniviejo"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Size = 10
        param(0).Value = lblDniActual.Text


        param(1) = New ADODB.Parameter
        param(1).Name = "@dni_nuevo"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Size = 10
        param(1).Value = txtNuevoDni.Text


        actualizoDni = Datos.Modificar("ActualizaDni", param, " actualizoDni -REGULARIZO DNI")




    End Function
    Protected Sub btnCambiarDni_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnCambiarDni.Click

        FG.SacaCartelDeAViso(lblMsjeGuardar)

        If txtNuevoDni.Text = "" Then
            FG.MuestraCartel("Debe ingresar el nuevo Nº de dni", lblMsjeGuardar)
            Exit Sub
        End If

        If FG.ValCampoNumericos(txtNuevoDni.Text) = False Then
            FG.MuestraCartel("El Nº de dni solo debe contener numeros", lblMsjeGuardar)
            Exit Sub
        End If

        If Len(txtNuevoDni.Text) < 7 Then
            FG.MuestraCartel("faltan numeros en el nuevo dni", lblMsjeGuardar)
            Exit Sub
        End If

        'me fijo q el dni no exista '
        If ExisteNuevoDni(txtNuevoDni.Text) = True Then
            FG.MuestraCartel("El dni que intenta regularizar ya existe", lblMsjeGuardar)
            Exit Sub
        End If
        '---------------------------------------


        '''''cambio el dni''''
        If actualizoDni() = True Then
            LIMPIApAGINA()
            FG.MuestraCartel("Se Regularizo correctamente el dni", lblMsjeGuardar)
        Else
            FG.MuestraCartel("Se produjo un error al guardar el nuevo dni", lblMsjeGuardar)
        End If

    End Sub
End Class